//
//  KABillDetailBigPager.swift
//  kano
//
//  Created by Frank on 2024/9/20.
//

import UIKit
import JXSegmentedView

class KABillDetailBigPager: KABaseVC {
    
    static let var_itemCellId = "KABillDetailPeriodCell"
    lazy var var_tableView: UITableView = {
        let var_tableView = UITableView(frame: CGRect(x: 0.0, y: 0, width: view.width-kscale(24), height: UIDevice.ka_viewHeight), style: .grouped)
        var_tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
        var_tableView.register(KABillDetailSectionHeader.self, forHeaderFooterViewReuseIdentifier: "KABillDetailSectionHeader")
        var_tableView.dataSource = self
        var_tableView.delegate = self
        var_tableView.separatorStyle = .none
        var_tableView.separatorColor = UIColor.clear
        var_tableView.bounces = false
        return var_tableView
    }()

    var model: KABillDetailModel
    
    init(with model: KABillDetailModel) {
        self.model = model
        super.init(nibName: nil, bundle: nil)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        
        view.addSubview(var_tableView)
    }
}

extension KABillDetailBigPager : UITableViewDataSource, UITableViewDelegate {
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 3
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 3
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if indexPath.section == 0 {
            let var_cell: KABillDetailPeriodCell = KABillDetailPeriodCell.ka_cell(for: tableView)
            return var_cell
        } else if indexPath.section == 1 {
            let var_cell: KABillDetailCell = KABillDetailCell.ka_cell(for: tableView)
            return var_cell
        }
        return UITableViewCell()
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if indexPath.section == 2 {
            return .leastNonzeroMagnitude
        }
        return kscale(28)
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "KABillDetailSectionHeader") as! KABillDetailSectionHeader
        header.var_handler = {
            
        }
        return header
    }
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return kscale(44)
    }

    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        return UIView()
    }
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 0.01
    }
}



extension KABillDetailBigPager: JXSegmentedListContainerViewListDelegate {
    func listView() -> UIView {
        view.backgroundColor = .orange
        return view
    }
}

